Data processing systems like personal computers use removable add-on cards or cartridges containing circuit boards to add additional software and/or hardware to the data processing system. For example, a computerized automotive service system needs to perform a variety of tests on different models of vehicles. The automotive service system requires additional circuits, drivers, software, interfaces, communication protocols, and parameters for different vehicle models to correctly conduct the tests. When a new test is to be performed or another vehicle model is to be tested, an add-on card or a cartridge corresponding to the previous test is removed and a new one corresponding to the new test is plugged into the computerized automotive service system via a receiving slot or socket to provide necessary hardware or software or both to the system. These removable add-on cards or cartridges provide flexible system architecture to perform different types of functions.
However, the use of add-on cards or cartridges to add additional hardware and/or software poses concerns of cost. There are circuits and components common to every add-on card or cartridge. According to conventional design, these common circuits and components have to be provided on every add-on card or cartridge. As the number of add-on cards or cartridges increases, the cost for these redundant circuits and components increases proportionally. These redundant components can increase the cost of add-on cards or cartridges up to 20%.